home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1995 April / Internet Tools.iso / infoserv / www / cern / doc / www-talk.archive.Z / www-talk.archive / text0074.txt < prev    next >
Encoding:
Text File  |  1992-11-30  |  5.3 KB  |  124 lines

  1. First, I'd like to point out the WAIS-FTP doesn't mean a client or server
  2. understands FTP protocol.  It's simply a customized server that functions
  3. like FTP (but is read-only).  It's mainly an experiment in modifying
  4. servers and providing services under WAIS.
  5.  
  6.    Date: Thu, 26 Mar 92 15:25:12 GMT+0100
  7.    From: timbl@nxoc01.cern.ch (Tim Berners-Lee)
  8.  
  9.    [...]
  10.  
  11.    The data model of WAIS (documents in databases) could be deconstrained
  12.    to allow documents themselves to be or contain lists of documents, and
  13.    for lists of documents to point to things other than documents in the
  14.    same database.
  15.  
  16. I take it you're suggesting a new TYPE for a document: Derived types?  In a
  17. sense the catalog is one of these.
  18.  
  19.    This is the way the second part can work.  Normally, a search returns a
  20.    list of doc-ids, each one (basically) like
  21.  
  22.        /usr/local/lib/wais/mydatabase/fred/myfile.txt
  23.  
  24.    which is in fact a filename.
  25.  
  26. Let me also point out that this is just the method used in the sample
  27. server.  The CM server does not return DocID's that are derived from
  28. filenames.
  29.  
  30. In fact, DocID's are "any"s, and that means they can have anything in them,
  31. so long as the server understands how to return a specified amount of data
  32. to a client when presented a DocID and a range.
  33.  
  34.    There's a load of other stuff in there which we can ignore for now.
  35.    What a WAIS search needs to be able to do, when you are pointing to
  36.    files, is to return a pointer to a file in FTP say. We do that in two
  37.    steps.
  38.  
  39. I don't agree.  I think the server should do the retrieval.  The client
  40. should not have to know anything about the REAL location of the document.
  41. More on that below.
  42.  
  43.    First, we recognise that that id is local to the conext of a wais server
  44.    on host myhost and port myport. When the server returns that string, the
  45.    client uses knowledge of the context in which it was quoted to exapnd
  46.    that to
  47.  
  48.        wais://myhost.dom.net:myport/usr/local/lib/wais/mydatabase/fred/myfile.txt
  49.  
  50.    This is a refernece you can quote to anyone as it makes sense anywhere.
  51.    No context.  I called it a UDI but we'll have to change the name.
  52.    Document Access Token maybe.  It's like Brewster's proposal but
  53.    extendable to other protocols.  [Yes, WAIS is a good protocol but there
  54.    are others. Including name servers and directories which will be needed
  55.    for long-lived but movable documents.]
  56.  
  57. This is a good idea, but I feel rather strongly that we should be very
  58. careful in overloading the protocol.  Specifying a syntax for DocID's is
  59. one way of overloading the protocol.  Standardizing types is another.
  60.  
  61.    Now suppose one day a server returns a doc-id INCLUDING the protocol,
  62.    host, etc.  For example, your WAIS FTP engine (like the ARCHIE WAIS)
  63.    returns what are basically pointers to files. Just now, because of the
  64.    constraints of the model, it has to return a part of a file within the
  65.    database. Suppose we change that, so that in your case it just returns a
  66.    doc-id which specifies anonymous ftp access, like:
  67.  
  68. WAIS-FTP doesn't return pointers to remote files.  It returns local DocIDs
  69. for use in retrieving a file local to the server.  Archie WAIS (and
  70. ftpable-readmes) returns these pointers.  That's a different story.
  71.  
  72. Now for a small discussion of WAIS DocID's. So far WAIS DocID's have only a
  73. few fields:
  74.  
  75. typedef struct DocID{
  76.    any* originalServer;
  77.    any* originalDatabase;
  78.    any* originalLocalID;
  79.    any* distributorServer;
  80.    any* distributorDatabase;
  81.    any* distributorLocalID;
  82.    long copyrightDisposition;
  83. } DocID;
  84.  
  85. The part you refer to is just the LocalID part.  If you look at some of the
  86. DocID's returned by the serial server, you'll see the other fields are
  87. filled in (though the Server fields don't contain much useful information -
  88. it's that part we were trying to standardize with the doc-id proposal).
  89.  
  90.        file://otherhost.com/pub/doc/mydoc.txt
  91.  
  92.    The client has a general retrieval engine which can accept doc-ids in
  93.    many domains -- not just WAIS. That allows it to go out over a different
  94.    protocol to retrieve the object.
  95.  
  96. There are two ways to handle this, of course.  Either the client or the
  97. server could do the retrieval.  I believe the server should handle the
  98. protocol part (if the document is stored on some FTP server somewhere, the
  99. WAIS server can just fetch the file, and return it to the client).  This
  100. reduces client complexity.  I have no objection to specifying the
  101. protocol/server in the DocID (perhaps with another field), but we must
  102. standardize the meanings.
  103.  
  104.    This is the way WWW and Gopher work.  They are open systems -- you can
  105.    link into any other system within reason.  That's why the fuss about
  106.    universal document identifiers.  Maybe the WAIS people would to
  107.    incorporate them -- that is, just make sure that the normal WAIS server
  108.    return things which are -- like the one above -- special cases of the
  109.    more general syntax.
  110.  
  111.    I haven't had much comment from the WAIS side about the UDIs, but I'd
  112.    like to have some. (file://info.cern.ch/pub/www/doc/udi1.ps was
  113.    background for the IETF discussions.) We plan a small working group
  114.    hacking out the details before an RFC is submitted.
  115.  
  116. Come up with an RFC, and we'll try to abide by it.  I'd like to caution you
  117. against overloaded strings.  We've got enough of them already.
  118.  
  119. For a start, I'd suggest we use the originalServer as the identifier for
  120. the HOST, and the originalDatabase can inform us of the protocol.
  121.  
  122. - Jonny G
  123.  
  124.